/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.mx.saco.dao.impl;

import com.mx.saco.dao.UsuarioDAO;
import com.mx.saco.entity.Elemento;
import com.mx.saco.entity.Usuario;
import com.mx.saco.util.Util;
import java.util.List;
import javax.ejb.Stateless;

/**
 *
 * @author LY005213
 */
@Stateless
public class UsuarioDAOImpl extends GeneralDAOImpl<Usuario, Long> implements UsuarioDAO {

    @Override
    public Usuario validaUserName(String userName) {
        List<Usuario> usuarios = this.em.createNamedQuery("Usuario.findByUsuario")
                .setParameter("usuario", userName).getResultList();
        if (usuarios != null && usuarios.size() > 0) {
            for (Usuario usuario : usuarios) {
                if (!usuario.getEstatus().getIdElemento().equals(Util.ESTATUS_USUARIO_ELIMINADO)) {
                    return usuario;
                }
            }
        }
        return null;
    }

    @Override
    public void borrarUsuario(Long id) {
        Usuario usuario = this.buscarPorId(id);
        usuario.setEstatus(new Elemento(Util.ESTATUS_USUARIO_ELIMINADO));
        usuario.setFechaActualizacion(new java.util.Date());
        this.actualizar(usuario);
    }

}
